/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.aspas.persistencia;

import br.com.aspas.modelo.CortesiasEmpresa;
import br.com.aspas.modelo.Evento;
import br.com.aspas.modelo.PessoaJuridica;
import br.com.aspas.util.AbstractDAO;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author felipe
 */
public class CortesiaEmpresaDao extends AbstractDAO{

    public List<CortesiasEmpresa> buscaCortesiasEmpresaEvento(PessoaJuridica pessoaJuridica, Evento evento){
        em = emf.createEntityManager();
        Query query = em.createQuery("SELECT c FROM CortesiasEmpresa c WHERE "
                + "c.evento.codigo = :evento AND c.pessoaJuridica.codigo = :pessoaJuridica" );
        query.setParameter("evento", evento.getCodigo());
        query.setParameter("pessoaJuridica",pessoaJuridica.getCodigo());
        List<CortesiasEmpresa> list = query.getResultList();
        em.close();
        return list;
    }

    public Long buscaQuantidadeCortesias(PessoaJuridica pessoaJuridica, Evento evento){
        em = emf.createEntityManager();
        Query query = em.createQuery("SELECT SUM(c.concessoes) FROM CortesiasEmpresa c WHERE "
                + "c.evento.codigo = :evento AND c.pessoaJuridica.codigo = :pessoaJuridica");
        query.setParameter("evento", evento.getCodigo());
        query.setParameter("pessoaJuridica",pessoaJuridica.getCodigo());

        Long concessoes = (Long) query.getSingleResult();
        em.close();
        
        return concessoes;
    }

}
